package com.coco.seck.mapper;

import com.coco.seck.pojo.TbSeckillGoods;
import com.coco.seck.vo.SeckGoodsSearchVo;
import com.coco.seck.vo.SeckGoodsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 *
 * @author HanSama
 * @date 2021/7/19 10:48
 */
@Mapper
public interface SeckillGoodsMapper {

    /**
     * 通过 模板id 获取即将开始秒杀的商品信息
     * @author HanSama
     * @date 2021/7/19 10:44
     * @param id
     * @return java.util.List<com.coco.seck.pojo.TbSeckillGoods>
     */
    List<TbSeckillGoods> findOneByDeployId(Long id);

    /**
     * 查询秒杀商品列表
     * @param searchVo
     * @return
     */
    List<SeckGoodsVo> findSeckGoods(@Param("searchVo") SeckGoodsSearchVo searchVo);

    /**
     * 修改商品状态
     * @param id
     * @param status
     */
    void updateStatus(@Param("id") Long id,
                      @Param("status") String status);

    /**
     * 删除
     * @param id
     */
    void deleteSecGoods(Long id);

    /**
     * 修改商品信息
     * @param seckillGoods
     */
    void updateSeckGoods(TbSeckillGoods seckillGoods);

    /**
     * 添加秒杀商品
     * @param item
     */
    void addSeckGoods(TbSeckillGoods item);

    /**
     * 查询单条
     * @param id
     * @return
     */
    TbSeckillGoods findById(Long id);

    /**
     * 通过id获取
     * @author HanSama
     * @date 2021/7/19 10:45
     * @param seckillId
     * @return com.coco.seck.pojo.TbSeckillGoods
     */
    TbSeckillGoods findOneById(Long seckillId);

    /**
     *
     * @author HanSama
     * @date 2021/7/22 8:39
     * @param id
     * @return java.util.List<com.coco.seck.pojo.TbSeckillGoods>
     */
    List<TbSeckillGoods> findSeckGoodsWithTimeOut(Long id);
}
